<!DOCTYPE html>
<html lang="en">
	<%- include('partials/head.ejs',
		{
			page:'adblock',
			title:'Test Ad Block - Toolz',
			description:'Looking for an easy way to check the efficiency of your ad blocker?'+
			'Toolz offers a simple and beautiful design test that allows you to quickly and easily test the performance of '+
			'current ad/content blocker solution. Intuitive interface makes it easy to navigate and use, and the beautiful design ensures that the experience is visually appealing. '+
			'With just a click, you can see how well the ad blocker is working and make any necessary adjustments.',
			url: 'd3ward.github.io/toolz/adblock',
			preview_thumbnail:'https://d3ward.github.io/toolz/src/preview_toolz.png',
			keywords:'adblock test,ad block test,ad blocker test,adblock,test adblock,analytics,trackers,ads,cosmetic filter,ublock, ublockorigin,adblock extension,script loading'
		}) %>
	<body class="_overflowhidden">
		
		<%- include('partials/adblock/results.ejs') %>
		<% const adblock_compatibility = require('./data/adblock_compatibility.json') %>
		<div class="dialog" id="dlg_compatibility" data-a11y-dialog="dlg_compatibility" aria-labelledby="dlg_compatibility-title" aria-hidden="true">
			<div class="dialog-overlay" data-a11y-dialog-hide></div>
			<div class="dialog-content">
				<header>
					<h3 id="dlg_compatibility-title">Compatibility Table</h3>
					<button data-a11y-dialog-hide><svg class="w-6 h-6" id="close-icon" fill="none" stroke="currentColor"
							viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
							<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12">
							</path>
						</svg></button>
				</header>
				<section>
					<div>
						<div class="card _pb-2">
							<p>
								The test relies on JavaScript, it can encounter problems due to browser limitations and varying solution approaches.<br>
								Below you'll find browser-adblock solutions that have been validated and tested to work effectively
							</p>
							<b class="_txt-red"><i>You will not see any ads and no trackers will be activated </i></b>
							<b class="_txt-blue"><i>A configuration with multiple solutions at the same time can lead to false positives.</i></b>
							<h5>
							<b class="_txt-orange"><i>While some browser+adblock solutions may not be supported by this test it's important to note that this does not imply they are not effective or reliable</i></b>
							</h5>
						</div>
						<div class="card _bg-bg3 _mt-2">
							<div class="row _ta-center">
							  <div>Adblock Solution </div>
							  <div>Browser-Platform</div>
							</div>
							<hr>
							<% for (let key in adblock_compatibility) { %>
								<% value = adblock_compatibility[key]%>
								<% if (key != 'default' && value.hidden!=true) { %>
									<div class="row">
										<div data-th="solution (type)">
											<span class="rwd-table-t"><%- value.icon %>
											<%= value.name %> (<%= value.type%>)</span>
											<br>
											<p>
												<%- value.note %>
											</p>
										</div>
										<div>
											<div class="badges">
												<% for (let b in value["no-issues"]) { %>
												<span class="light-green">
													<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
														<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
														<path d="M5 12l5 5l10 -10"></path>
													 </svg>
													<%= value["no-issues"][b] %></span>
												<% } %>
												
												<% for (let b in value["issues"]) { %>
													<span class="light-red">
														<svg xmlns="http://www.w3.org/2000/svg"  width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
															<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
															<path d="M18 6l-12 12"></path>
															<path d="M6 6l12 12"></path>
														 </svg>
														<%= value["issues"][b] %></span>
													<% } %>
													<% for (let c in value["m-issues"]) { %>
														<span class="light-orange">
															<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
																<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
																<path d="M8 8a3.5 3 0 0 1 3.5 -3h1a3.5 3 0 0 1 3.5 3a3 3 0 0 1 -2 3a3 4 0 0 0 -2 4"></path>
																<path d="M12 19l0 .01"></path>
															 </svg>
															<%= value["m-issues"][c] %></span>
														<% } %>
											</div>
										</div>
									</div><hr>
								<% } %>
							<% } %>
								</div>
					</div>
				</section>
				<footer>
					<button data-a11y-dialog-hide>
						Close
					</button>
				</footer>
			</div>
		</div>
		<%- include('partials/support_me.ejs') %>
		<%- include('partials/adblock/settings.ejs') %>
		<%- include('partials/adblock/faq.ejs') %>
		<%- include('partials/adblock/changelog.ejs') %>
		<%- include('partials/adblock/logs.ejs') %>
		<%- include('partials/header.ejs', {page:'adblock'}) %>
		
		<main>
			<noscript>
				<div class="_bg-red _txt-white _radius _p-1 better_r _py-2 _mt-2">
					<h3>JavaScript is required to run this test. Please enable JavaScript in your browser settings.</h3>
					<style>
						#m_test{
							display: none;
						}
					</style>
				</div>
			  </noscript>
			<div id="m_test">
			<section>
				<div class="grid">
					<div>
						<div class="lt_wrap">
							<div class="lt_particles">
								<div class="p1">
									<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' stroke-width='2'
										stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'>
										<path d='M0 0h24v24H0z' stroke='none' />
										<path d='M18 8a3 3 0 010 6M10 8v11a1 1 0 01-1 1H8a1 1 0 01-1-1v-5' />
										<path
											d='M12 8h0l4.524-3.77A.9.9 0 0118 4.922v12.156a.9.9 0 01-1.476.692L12 14H4a1 1 0 01-1-1V9a1 1 0 011-1h8' />
									</svg>
								</div>
								<div class="p2">
									<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' stroke-width='2'
										stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'>
										<path d='M0 0h24v24H0z' stroke='none' />
										<path d='M4 18V6a2 2 0 012-2h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2z' />
										<path d='M7 14l3-3 2 2 3-3 2 2' />
									</svg>
								</div>
								<div class="p3">
									<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' stroke-width='2'
										stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'>
										<path d='M0 0h24v24H0z' stroke='none' />
										<circle cx='12' cy='5' r='2' />
										<circle cx='5' cy='19' r='2' />
										<circle cx='19' cy='19' r='2' />
										<circle cx='12' cy='14' r='3' />
										<path d='M12 7v4M6.7 17.8l2.8-2M17.3 17.8l-2.8-2' />
									</svg>
								</div>
								<div class="p4">
									<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' stroke-width='2'
										stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'>
										<path d='M0 0h24v24H0z' stroke='none' />
										<path
											d='M9 9V8a3 3 0 016 0v1M8 9h8a6 6 0 011 3v3a5 5 0 01-10 0v-3a6 6 0 011-3M3 13h4M17 13h4M12 20v-6M4 19l3.35-2M20 19l-3.35-2M4 7l3.75 2.4M20 7l-3.75 2.4' />
									</svg>
								</div>
								<div class="p5">
									<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' stroke-width='2'
										stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'>
										<path d='M0 0h24v24H0z' stroke='none' />
										<path d='M12 4L4 8l8 4 8-4-8-4M4 12l8 4 8-4M4 16l8 4 8-4' />
									</svg>
								</div>
		
							</div>
							<div class="lt_cwrap">
								<div class="lt_circle">
									<div class="lt_wave"></div>
								</div>
								<div class="lt_value">
								</div>
							</div>
						</div>
					</div>
					<div class="_f-center">
						<button id="start_test"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-refresh-dot" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
							<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
							<path d="M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4"></path>
							<path d="M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4"></path>
							<circle cx="12" cy="12" r="1"></circle>
						 </svg> &nbsp; Re-test</button>
					</div>
					<div class="_f-center">
						<div class="card" id="adb_test_r"><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"
									stroke="var(--blue)" stroke-linecap="round" stroke-linejoin="round" stroke-width="2">
									<path stroke="none" d="M0 0h24v24H0z"></path>
									<path d="M11 12a1 1 0 1 0 2 0 1 1 0 1 0-2 0"></path>
									<path d="M3 12a9 9 0 1 0 18 0 9 9 0 1 0-18 0"></path>
								</svg> Total : </span><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2"
									stroke="var(--green)" fill="none" stroke-linecap="round" stroke-linejoin="round">
									<path d="M0 0h24v24H0z" stroke="none"></path>
									<circle cx="12" cy="12" r="9"></circle>
									<path d="M9 12l2 2 4-4"></path>
								</svg> </span><span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2"
									stroke="var(--red)" fill="none" stroke-linecap="round" stroke-linejoin="round">
									<path d="M0 0h24v24H0z" stroke="none"></path>
									<circle cx="12" cy="12" r="9"></circle>
									<path d="M10 10l4 4m0-4l-4 4"></path>
								</svg> </span></div>
					</div>
				</div>
			</section>
			<section>
				<div class="_2-col">
					<button data-a11y-dialog-show="dlg_reports"> 
					<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
						<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
						<path d="M12 8l0 4l2 2"></path>
						<path d="M3.05 11a9 9 0 1 1 .5 4m-.5 5v-5h5"></path>
					 </svg>
					 Results</button>
				<button data-a11y-dialog-show="dlg_faq">
					<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="prefix__icon prefix__icon-tabler prefix__icon-tabler-info-square"><path stroke="none" d="M0 0h24v24H0z"/><path d="M12 8 12.01 8"/><rect width="16" height="16" x="4" y="4" rx="2"/><path d="M11 12 12 12 12 16 13 16"/></svg> 
					FAQ</button>
				<button data-a11y-dialog-show="dlg_logs">
					<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="prefix__icon prefix__icon-tabler prefix__icon-tabler-message-2-code"><path stroke="none" d="M0 0h24v24H0z"/><path d="m12 20-3-3H7a3 3 0 0 1-3-3V8a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3h-2l-3 3"/><path d="m10 9-2 2 2 2M14 9l2 2-2 2"/></svg> 
					Logs</button>
				<button data-a11y-dialog-show="dlg_settings">
					<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="prefix__icon prefix__icon-tabler prefix__icon-tabler-settings"><path stroke="none" d="M0 0h24v24H0z"/><path d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 0 0-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 0 0-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 0 0-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 0 0-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 0 0 1.066-2.573c-.94-1.543.826-3.31 2.37-2.37 1 .608 2.296.07 2.572-1.065z"/><path d="M9 12a3 3 0 1 0 6 0 3 3 0 1 0-6 0"/></svg>
					Settings</button>
				</div>
				<div>
					<div class="_bg-orange _txt-white _radius _p-1 better_r">
						<b>
						The test may not work as expected with some browser/blocker combinations.<br>
						To ensure a smooth experience, please check the compatibility list before testing. <br>
						<button data-a11y-dialog-show="dlg_compatibility">
							<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path stroke="none" d="M0 0h24v24H0z"/><path d="m7 12 5 5L22 7M2 12l5 5m5-5 5-5"/></svg> 
							Compatibility</button><br>
							I ask that you please refrain from reporting them directly to the browser or adblock solution provider.<br>
							Instead, I encourage you to report problems directly to the Toolz project issues <br></b>
						<a href="https://github.com/d3ward/toolz/issues/new/choose" class="btn"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"
							viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none"
							stroke-linecap="round" stroke-linejoin="round">
							<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
							<path
								d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5">
							</path>
						</svg> Create issue on Toolz </a>
					</div>
				</div>
			</section>
			<section class="page-active" id="adb_test">
				<div class="grid">
					<div>
						<hr>
					</div>
					<div id="cf_wrap">
						<div class="test_card">
							<h5>
								<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" stroke-width="2"
									stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
									<path d="M0 0h24v24H0z" stroke="none" />
									<circle cx="12" cy="12" r="2" />
									<path
										d="M22 12c-2.667 4.667-6 7-10 7s-7.333-2.333-10-7c2.667-4.667 6-7 10-7s7.333 2.333 10 7" />
								</svg>
								&nbsp; Cosmetic Filter
							</h5>
							<div class="row keep-width">
								<div>
									<div id="ct_static" class="test_block _aos">
										<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' stroke-width='2'
											stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'>
											<path d='M0 0h24v24H0z' stroke='none' />
											<rect x='3' y='5' width='18' height='14' rx='2' />
											<path d='M7 15v-4a2 2 0 014 0v4m-4-2h4m6-4v6h-1.5a1.5 1.5 0 111.5-1.5' />
										</svg>
										&nbsp;
										Static Ad
										<div id="cts_test" class="textads adsbox banner_ads adbox ADBox AdBox adbox-wrapper adSocial ">&nbsp;</div>
									</div>
								</div>
								<div>
									<div id="ct_dynamic" class="test_block _aos">
										<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
											stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round"
											stroke-linejoin="round">
											<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
											<path d="M11.933 5h-6.933v16h13v-8"></path>
											<path d="M14 17h-5"></path>
											<path d="M9 13h5v-4h-5z"></path>
											<path d="M15 5v-2"></path>
											<path d="M18 6l2 -2"></path>
											<path d="M19 9h2"></path>
										</svg>
										&nbsp;
										Dynamic Ad
										<div id="ctd_test"></div>
									</div>
								</div>
								
							</div>
							<div>
								<details>
									<summary>Why Cosmetic Filter test fails?</summary>
									<div class="better_r _p-1">
										<p>
											If a cosmetic filter test fails, it simply means that the specific website being tested
											(in this case d3ward.github.io) isn't included in any of adblock's rules or lists.<br>
											It's important to note that this does not mean that cosmetic filtering fails on all websites.<br> You can
											confirm this by visiting a popular, ad-rich site where you're unlikely to see any ad boxes.<br>
											The purpose of this test is to assess the functionality of the blocking feature, not to determine its scope
											or coverage. By adding the following rules to your adblock solution, you may be able to solve the problem:
										</p>
								
										<pre>
											<code>d3ward.github.io##.adbox.banner_ads.adsbox
d3ward.github.io##.textads</code></pre>
										<b>Adding these rules could lead to a successful test result proving your adblock
											solution have that feature of blocking with cosmetic filters</b>
									</div>
								</details>
								
							</div>
						</div>
					</div>
					<div id="sl_wrap">
						<div class="test_card">
							<h5>
								<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-script" width="24"
									height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none"
									stroke-linecap="round" stroke-linejoin="round">
									<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
									<path
										d="M17 20h-11a3 3 0 0 1 0 -6h11a3 3 0 0 0 0 6h1a3 3 0 0 0 3 -3v-11a2 2 0 0 0 -2 -2h-10a2 2 0 0 0 -2 2v8">
									</path>
								</svg>
								&nbsp; Ad Scripts Loading
							</h5>
							<div class="row keep-width">
								<div class="col-6">
									<div id="sfa_1" class="test_block _aos">
										ads.js
										<script src="./js/widget/ads.js"></script>
									</div>
								</div>
								<div class="col-6">
									<div id="sfa_2" class="test_block _aos">
										pagead.js
										<script src="./js/pagead.js"></script>
									</div>
								</div>
							</div>
							<div>
								<details>
									<summary>Why Ad Script Loading test fails??</summary>
									<div class="better_r _p-1">
										<p>
											Same as the cosmetic tests. If an ad script load test fails, it usually means that the specific website being
											tested isn't covered by any of adblock's rules or lists, especially for blocking ad-related scripts like my fake
											<code>ads.js</code><br>
											However, this error doesn't indicate a general failure of ad script blocking on all websites.<br>
											To check, you can visit a popular website known for its abundance of ads scripts.<br>
											Chances are that you won't encounter any blocked ad scripts.
											It's important to understand that this test is designed to evaluate the functionality of ad script blocking, not
											its scope or effectiveness.
											To potentially fix the problem, consider adding the following rules to your adblock solution:
										</p>
										<pre><code>/pagead.js$domain=d3ward.github.io
/widget/ads.</code></pre>
										<b>Adding these rules could lead to a successful test result proving your adblock
											solution have that feature of blocking script loading</b>
									</div>
								</details>
								
							</div>
						</div>
						<hr>
					</div>
					<div>
						<div id="test" class="test_wrapper"></div>
					</div>
				</div>
			</section>
			</div>
		</main>
		<%- include('partials/footer.ejs') %>
		<%- include('partials/gotop.ejs') %>
	</body>
</html>